home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1994 November / macformat-018.iso / Utility Spectacular / Developer / macgambit-20-compiler-src-p1 / Examples / fib.scm < prev    next >
Encoding:
Text File  |  1994-07-26  |  567 b   |  23 lines  |  [TEXT/gamI]

  1. ; Fibonacci benchmark
  2.  
  3. (##declare (standard-bindings) (fixnum)) ; Compiler: generate fast code
  4.  
  5. (define (fibonacci n)
  6.  
  7.   (define (fib n) (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2)))))
  8.  
  9.   (fib n))
  10.  
  11. ; In C, this is:
  12. ;
  13. ; int fib(n) int n; { if (n<2) return n; else return fib(n-1)+fib(n-2); }
  14.  
  15. ; Timings on 2.5 meg Mac+ for (fibonacci 20):
  16. ;
  17. ;                       secs   relative speed
  18. ; Interpreted code:    26.75      52.45
  19. ; Compiled code:        0.51       1.00
  20. ; Think C 4.0:          0.60       1.18
  21. ;
  22. ; note: Think C has 16 bit ints, Gambit has 29 bit fixnums
  23.